Integrant入門(2) - ライフサイクルの管理
前回(
Integrant入門(1) - Integrantの基本
)は
Integrant
の語彙について説明を行い、設定マップからコンポーネントが作られるところまでを書きました。今回はもう少し進めて、
ライフサイクル
の管理について説明していきたいと思います。
コンポーネントの破棄
前回のコンポーネントは主に数値を取り扱っただけだったので、お行儀よく破棄する必要もありませんでしたが通常のアプリケーションにおいて、
ライフサイクル
を管理したいようなものを扱う場合、お行儀よく破棄したい
コンポーネント
が出てくるケースがあります。
例えば、
サーバー
や
データベース
のコネクションなどですね。近頃ではアプリケーションサーバーがアプリケーション本体に組み込まれていることも多く、サーバーの
ライフサイクル
は
アプリケーション
の中で面倒を見ないといけないケースが多いです。
そんなわけで、サーバーの
コンポーネント
を簡単に書いてみましょう。今回はJettyを利用します。
code:project.clj
ring/ring-core "1.6.3"
ring/ring-jetty-adapter "1.6.3"
code:clojure
(require '
integrant.core :as ig
)
(require '
ring.adapter.jetty :as jetty
)
#wip